<?php

/**
 *      [CodeJm!] Author CodeJm[codejm@163.com].
 *
 *       管理类
 *      $Id: Surcharge.php 2016-03-31 15:42:44 codejm $
 */

class SurchargeController extends \Core_BackendCtl {

    /**
     * 列表
     *
     */
    public function indexAction() {
        $surchargeModel = new SurchargeModel();
        
        if($this->getRequest()->isPost()) {
            // 获取所有post数据
            $pdata = $this->getAllPost();
                
            $list = array();
            $id = 1;
            
            //处理出发楼层
            if(!empty($pdata['type1_name']) && !empty($pdata['type1_price'])){
                $i = 0;
                foreach($pdata['type1_name'] as $v){
                    $list[] = array(
                        'scg_id' => $id,
                        'scg_name'=>$v,
                        'scg_price'=>$pdata['type1_price'][$i],
                        'default_value'=>0,
                        'unit'=>'',
                        'desciption'=>'',
                        'type'=>1
                    );
                    $i++;
                    $id++;
                }
            }
            
            //处理到达楼层
            if(!empty($pdata['type2_name']) && !empty($pdata['type2_price'])){
                $i = 0;
                foreach($pdata['type2_name'] as $v){
                    $list[] = array(
                        'scg_id' => $id,
                        'scg_name'=>$v,
                        'scg_price'=>$pdata['type2_price'][$i],
                        'default_value'=>0,
                        'unit'=>'',
                        'desciption'=>'',
                        'type'=>2
                    );
                    $i++;
                    $id++;
                }
            }
            
            //其他配置
            if(!empty($pdata['type0_name']) && !empty($pdata['type0_price'])){
                $i = 0;
                foreach($pdata['type0_name'] as $v){
                    $list[] = array(
                        'scg_id' => $id,
                        'scg_name'=>$v,
                        'scg_price'=>$pdata['type0_price'][$i],
                        'default_value'=>$pdata['type0_default_value'][$i],
                        'unit'=>$pdata['type0_unit'][$i],
                        'desciption'=>trim($pdata['type0_desciption'][$i]),
                        'type'=>0
                    );
                    $i++;
                    $id++;
                }
            }
            
           // print_r($list);exit;
            if($surchargeModel->insertAll($list)){
                $this->_view->assign('Message', '设置成功！');
            }
            
        }
        
        //出发楼层
        $type1 = $surchargeModel->getLists(array('where'=>array('type'=>1)));
        $type2 = $surchargeModel->getLists(array('where'=>array('type'=>2)));
        $type0 = $surchargeModel->getLists(array('where'=>array('type'=>0)));
        //print_R($type1);exit;
        $this->_view->assign('type1',$type1);
        $this->_view->assign('type2',$type2);
        $this->_view->assign('type0',$type0);
        $this->_view->assign('title','附加费设置');
    }

    /**
     * 添加
     *
     */
    public function addAction() {
        // 实例化Model
        $surchargeModel = new SurchargeModel();
        // 处理post数据
        if($this->getRequest()->isPost()) {
            // 获取所有post数据
            $pdata = $this->getAllPost();
            // 处理图片等特殊数据

            // 验证
            $result = $surchargeModel->validation->validate($pdata, 'add');
            $surchargeModel->parseAttributes($pdata);

            // 通过验证
            if($result) {
                // 入库前数据处理

                // Model转换成数组
                $data = $surchargeModel->toArray($pdata);
                $result = $surchargeModel->insert($data);
                if($result) {
                    // 提示信息并跳转到列表
                    Tools_help::setSession('Message', '添加成功！');
                    $this->redirect('/backend/surcharge/index');
                } else {
                    // 验证失败
                    $this->_view->assign('ErrorMessage', '添加失败！');
                    $this->_view->assign("errors", $surchargeModel->validation->getErrorSummary());
                }
            } else {
                // 验证失败
                $this->_view->assign('ErrorMessage', '添加失败！');
                $this->_view->assign("errors", $surchargeModel->validation->getErrorSummary());
            }
        }

        // 格式化表单数据


        // 模版分配数据
        $this->_view->assign("surcharge", $surchargeModel);
        $this->_view->assign("pageTitle", '添加');
    }

    /**
     * 编辑
     *
     */
    public function editAction() {
        // 获取主键
        $scg_id = $this->getg('scg_id', 0);
        if(empty($scg_id)) {
            $this->error('scg_id 不能为空!');
        }

        // 实例化Model
        $surchargeModel = new SurchargeModel();

        // 处理Post
        if($this->getRequest()->isPost()) {
            // 获取所有post数据
            $pdata = $this->getAllPost();
            // 处理图片等特殊数据

            // 验证
            $result = $surchargeModel->validation->validate($pdata, 'edit');
            $surchargeModel->parseAttributes($pdata);

            // 通过验证
            if($result) {
                // 入库前数据处理


                // Model转换成数组
                $data = $surchargeModel->toArray($pdata);
                $result = $surchargeModel->update(array('scg_id'=>$scg_id), $data);

                if($result) {
                    // 提示信息并跳转到列表
                    Tools_help::setSession('Message', '修改成功！');
                    $this->redirect('/backend/surcharge/index');
                } else {
                    // 出错
                    Tools_help::setSession('ErrorMessage', '修改失败, 请确定已修改了某项！');
                    $this->_view->assign("errors", $surchargeModel->validation->getErrorSummary());
                }
            } else {
                // 验证失败
                Tools_help::setSession('ErrorMessage', '修改失败, 请检查错误项');
                $this->_view->assign("errors", $surchargeModel->validation->getErrorSummary());
            }
            $surchargeModel->scg_id = $scg_id;
        }

        // 如果Model数据为空，则获取
        if(!empty($scg_id) && empty($surchargeModel->scg_id)) {
            $data = $surchargeModel->select(array('where'=>array('scg_id'=>$scg_id)));
            $surchargeModel->parseAttributes($data);
        }

        // 格式化表单数据


        // 模版分配数据
        $this->_view->assign("surcharge", $surchargeModel);
        $this->_view->assign("pageTitle", '修改');
    }

    /**
     * 单个删除
     *
     */
    public function delAction() {
        $scg_id = $this->getg('scg_id', 0);
        if(empty($scg_id)) {
            $this->error('scg_id 不能为空!');
        }
        // 实例化Model
        $surchargeModel = new SurchargeModel();
        $row = $surchargeModel->update(array('scg_id'=>$scg_id), array('status'=>-1));
        if($row) {
            $this->error('恭喜，删除成功', 'Message');
        } else {
            $this->error('删除失败');
        }
    }

    /**
     * 批量删除或者调整顺序
     *
     */
    public function batchAction() {
        $scg_ids = $this->getp('dels');
        if(empty($scg_ids)) {
            $this->error('scg_id 不能为空!');
        }
        // 实例化Model
        $surchargeModel = new SurchargeModel();
        $row = $surchargeModel->delSurcharges($scg_ids);
        if($row) {
            $this->error('恭喜，删除成功', 'Message');
        } else {
            $this->error('删除失败');
        }
    }

    /**
     * 修改状态
     *
     *
     */
    public function statusAction() {
        $scg_id = $this->getg('scg_id', 0);
        if(empty($scg_id)) {
            $this->error('scg_id 不能为空!');
        }
        $status = $this->getg('status', 0);
        $status = $status ? 0 : 1;
        // 实例化Model
        $surchargeModel = new SurchargeModel();
        $row = $surchargeModel->update(array('scg_id'=>$scg_id), array('status'=>$status));
        if($row) {
            $this->error('恭喜，操作成功', 'Message');
        } else {
            $this->error('操作失败');
        }

    }

}

?>
